package com.foreknow.demo15;

/**
 * 抽象类
 * 父类中可以定义出一种行为，但是无法描述这个行为的细节。具体的细节可以由各个子类去描述，
 * 这个时候父类的这修行为只需要给出定义，而不需要进行描述(实现)
 * 体现在编程中，父类只给出定义(声明)子类去实现方法内部的细节。
 * 这种情况这个类可以理解为一个抽象类，这种没有细节的方法叫抽象方法
 *
 * 抽象的关键字：abstract  可以修饰类和方法
 *
 * 规则：
 * 1.如果一个类中有一个抽象方法，那么这个类一定要声明为抽象类。
 * 2.抽象类中不一定都是抽象方法，也可以有非抽象方法
 * 3.抽象类不能直接创建对象
 * 4.子类中一定要实现父类中的所有抽象方法，否则子类也要定义为抽象类
 *
 * 我们创建抽象类的目的就是为了作为父类来使用
 */
public abstract class A {
  /**
   * 抽象方法
   */
  public abstract void method();
  public abstract void insert();
  public abstract void update();
  public abstract void delete();
  public abstract void query();

}
